﻿@model SILAS.Entidades.Visita

@{
    ViewBag.Title = "Edit";
    Layout = "~/Views/Shared/_LayoutGeneral.cshtml";
}

<script type="text/javascript">


    $(function () {

        var ciudadano;
        var empleado;

        $("#txtBuscarCiudadano").autocomplete({
            source: '@Url.Action("GetCiudadanos", "Ciudadano")',
            minLength: 1,
            focus: function (event, ui) {
                var select = ui.item;
                $("#txtBuscarCiudadano").val(select.label);
                return false;
            },
            select: function (event, ui) {
                var select = ui.item;
                $("#txtBuscarCiudadano").val(select.label);
                ciudadano = select.ciudadano;
                return false;
            }
        });

        $("#add").click(function (e) {
            e.preventDefault();

            var row = $("#tblCiudadanos >tbody >tr").length;

            if (row == 0) {

                var filaTable = '<tr>';
                filaTable += '<td> <input type=\"hidden\" name=\"DetalleVisitas[' + row + '].IdCiudadano\" value=\"' + ciudadano.IdCiudadano + '\" />' + ciudadano.Nombres + ' ' + ciudadano.ApPaterno + ' ' + ciudadano.ApMaterno + '</td>';
                filaTable += '<td>' + ciudadano.DNI + '</td>' + '<td><a href=\"#\" class =\"deleteLink\"><img src=\"/Content/Imagenes/delete.png\" alt=\"Eliminar Ciudadano\" /></a></td>';
                filaTable = filaTable + '</tr>';

                $("#tblCiudadanos tbody").append(filaTable).fadeIn("slow");
            }
            else {
                var sinerrores = true;

                $("#tblCiudadanos  tbody tr td:nth-child(1)").each(function (index, element) {
                    var IdCiudadano = $(element).find("input:eq(0)").val();
                    if (IdCiudadano == ciudadano.IdCiudadano) {
                        sinerrores = false;
                        return;
                    }
                });


                if (sinerrores) {

                    var filaTable = '<tr>';
                    filaTable += '<td> <input type=\"hidden\" name=\"DetalleVisitas[' + row + '].IdCiudadano\" value=\"' + ciudadano.IdCiudadano + '\" />' + ciudadano.Nombres + ' ' + ciudadano.ApPaterno + ' ' + ciudadano.ApMaterno + '</td>';
                    filaTable += '<td>' + ciudadano.DNI + '</td>' + '<td><a href=\"#\" class =\"deleteLink\"><img src=\"/Content/Imagenes/delete.png\" alt=\"Eliminar Ciudadano\" /></a></td>';
                    filaTable = filaTable + '</tr>';

                    $("#tblCiudadanos tbody").append(filaTable).fadeIn("slow");
                }
                else {
                    alert('El Ciudadano ya esta como participante');
                }
            }

        });

    });

    $(function () {
        $("#txtBuscarEmpleado").autocomplete({
            source: '@Url.Action("GetEmpleado", "Empleado")',
            minLength: 1,
            focus: function (event, ui) {
                var select = ui.item;
                $("#txtBuscarEmpleado").val(select.label);
                return false;
            },
            select: function (event, ui) {
                var select = ui.item;
                $("#txtBuscarEmpleado").val(select.label);
                empleado = select.empleado;
                return false;
            }
        });

        $("#add2").click(function (e) {
            e.preventDefault();

            var row = $("#tblEmpleado >tbody >tr").length;

            if (row == 0) {
                var filaTable = '<tr>';
                filaTable += '<td> <input type=\"hidden\" name=\"DetalleVisitas[' + row + '].IdEmpleado\" value=\"' + empleado.IdEmpleado + '\" />' + empleado.Nombres + ' ' + empleado.ApPaterno + ' ' + empleado.ApMaterno + '</td>';
                filaTable += '<td>' + empleado.DNI + '</td>';
                filaTable += '<td>' + empleado.Cargo + '<td><a href=\"#\" class =\"deletempli\"><img src=\"/Content/Imagenes/delete.png\" alt=\"Eliminar Empleado\" /></a></td>';
                filaTable = filaTable + '</tr>';

                $("#tblEmpleado tbody").append(filaTable).fadeIn("slow");
            }
            else {
                var sinErrores = true;

                $("#tblEmpleado  tbody tr td:nth-child(1)").each(function (index, element) {
                    var IdEmpleado = $(element).find("input:eq(0)").val();
                    if (IdEmpleado == empleado.IdEmpleado) {
                        sinErrores = false;
                        return;
                    }
                });

                if (sinErrores) {
                    var filaTable = '<tr>';
                    filaTable += '<td> <input type="hidden" name=\"DetalleVisitas[' + row + '].IdEmpleado\" value=\"' + empleado.IdEmpleado + '\" />' + empleado.Nombres + ' ' + empleado.ApPaterno + ' ' + empleado.ApMaterno + '</td>';
                    filaTable += '<td>' + empleado.DNI + '</td>';
                    filaTable += '<td>' + empleado.Cargo + '<td><a href=\"#\" class =\"deletempli\"><img src=\"/Content/Imagenes/delete.png\" alt=\"Eliminar Empleado\" /></a></td>';
                    filaTable = filaTable + '</tr>';

                    $("#tblEmpleado tbody").append(filaTable).fadeIn("slow");
                }
                else {
                    alert('El Empleado ya esta como participante');
                }


            }
        });
        /* Eliminar Ciudadano   */

        $(".deleteLink").live("click", function (e) {
            e.preventDefault();

            var tr = $(this).parents("tr");

            $(tr).fadeOut("slow", function () {
                $(tr).remove();

                $("#tblCiudadanos  tbody tr").each(function (index, element) {
                    var fila = $(element);
                    $(fila).find('input[name$="IdCiudadano"]').attr("name", "DetalleVisitas[" + index + "].IdCiudadano");
                });
            });
        });

        /* Eliminar Empleado   */

        $(".deletempli").live("click", function (e) {
            e.preventDefault();

            var tr = $(this).parents("tr");

            $(tr).fadeOut("slow", function () {
                $(tr).remove();

                $("#tblEmpleado  tbody tr").each(function (index, element) {
                    var fila = $(element);
                    $(fila).find('input[name$="IdEmpleado"]').attr("name", "DetalleVisitas[" + index + "].IdEmpleado");
                });
            });
        });

        $('#btnGuardar').click(function (e) {
            e.preventDefault();

            $("#tblEmpleado  tbody tr").each(function (index, element) {
                var fila = $(element);
                $(fila).find('input[name$="IdEmpleado"]').attr("name", "DetalleVisitas[" + index + "].IdEmpleado");
            });

            $("#tblCiudadanos  tbody tr").each(function (index, element) {
                var fila = $(element);
                $(fila).find('input[name$="IdCiudadano"]').attr("name", "DetalleVisitas[" + index + "].IdCiudadano");
            });

            $('form').submit();
        });




    });
    </script>

<h2>Edit</h2>
<script src="@Url.Content("~/Scripts/jquery.ui.datepicker.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>


@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Visita</legend>
        <div id='left' class='ui-widget ui-corner-all' style='float:left;width:25%;margin-top:0.5em;margin-left:0.5em;'>
        <div class="ui-widget-header ui-corner-top" style="padding:0.3em;">
            Visita
        </div>
        <div class="ui-widget-content ui-corner-bottom" style="padding:0.5em;">
        @Html.HiddenFor(model => model.Id)

        <div class="editor-label">
            @Html.LabelFor(model => model.Fecha)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Fecha)
            @Html.ValidationMessageFor(model => model.Fecha)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Observaciones)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Observaciones)
            @Html.ValidationMessageFor(model => model.Observaciones)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Acuerdos)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Acuerdos)
            @Html.ValidationMessageFor(model => model.Acuerdos)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.IdSector)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.IdSector)
            @Html.ValidationMessageFor(model => model.IdSector)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.ExtensionActa)
        </div>

      </div>
    </div>
         <div id='center' class='ui-widget ui-corner-all' style='float:left;width:30%;margin-top:0.5em;margin-left:0.5em;'>
        <div class="ui-widget-header ui-corner-top" style="padding:0.3em;">
            Ciudadanos
        </div>
        <div class="ui-widget-content ui-corner-bottom" style="padding:0.5em;">
             <table id="tblCiudadanos" border="1" cellpadding="3" cellspacing="3">
                <thead>
                  <tr>
                    <th>
                        Nombres
                    </th>
                    <th>
                        DNI
                    </th>
                </tr>
              </thead>
                <tbody>
                        @for (int i = 0; i < Model.DetalleVisitas.Count; i++)
                        {
                            
                                
                                    if (Model.DetalleVisitas[i].Ciudadano != null)
                                    {
                                        <tr>
                                            <td>
                                                @Html.Hidden("DetalleVisitas[" + @i + "].IdCiudadano", Model.DetalleVisitas.ToList()[i].IdCiudadano)
                                                @Html.DisplayFor(x => Model.DetalleVisitas.ToList()[i].Ciudadano.ApPaterno)
                                                @Html.Label(" ") 
                                                @Html.DisplayFor(x => Model.DetalleVisitas.ToList()[i].Ciudadano.ApMaterno) 
                                                @Html.Label(" ") 
                                                @Html.DisplayFor(x => Model.DetalleVisitas.ToList()[i].Ciudadano.Nombres)
                                             </td>
                                            <td>
                                                 @Html.DisplayFor(x => Model.DetalleVisitas[i].Ciudadano.DNI) 
                                                <a href="@Url.Action("Delete", "Ciudadano", new { id = Model.DetalleVisitas.ToList()[i].Ciudadano.Id })" class = "deleteLink">
                                                    <img src="@Url.Content("~/Content/Imagenes/delete.png")" title="Eliminar Ciudadano" alt="Eliminar Ciudadano" />
                                                </a>
                                            </td>
                                        </tr>
                                    }      
                            
                        }      
                  
            </tbody>   
            
            </table>

            @Html.Label("Buscar:")
            @Html.TextBox("txtBuscarCiudadano")
            <button type="button"  id="add">Añadir Ciudadano</button>
            </div>
        </div>
        
        <div id='right' class='ui-widget ui-corner-all' style='float:left;width:40%;margin-top:0.5em;margin-left:0.5em;'>
            <div class="ui-widget-header ui-corner-top" style="padding:0.3em;">
                Empleado
            </div>
            <div class="ui-widget-content ui-corner-bottom" style="padding:0.5em;">
             <table id="tblEmpleado" border="1" cellpadding="0" cellspacing="0">
                <thead>
                  <tr>
                    <th>
                        Nombres
                    </th>
                    <th>
                        DNI
                    </th>
                    <th>
                        Cargo
                    </th>
                </tr>
              </thead>

             <tbody>                   
                    @for (int j = 0; j < Model.DetalleVisitas.Count; j++)
                    {
                    
                        
                            if (Model.DetalleVisitas[j].Empleado != null)
                            {
                                <tr>
                                <td>
                                    @Html.Hidden("DetalleVisitas[" + @j + "].IdEmpleado", Model.DetalleVisitas.ToList()[j].IdEmpleado)
                                    @Html.DisplayFor(x => Model.DetalleVisitas.ToList()[j].Empleado.ApPaterno) 
                                    @Html.Label(" ")
                                    @Html.DisplayFor(x => Model.DetalleVisitas.ToList()[j].Empleado.ApMaterno) 
                                    @Html.Label(" ")
                                    @Html.DisplayFor(x => Model.DetalleVisitas.ToList()[j].Empleado.Nombre)
                                </td>     
                                 <td>                       
                                    @Html.DisplayFor(x => Model.DetalleVisitas.ToList()[j].Empleado.DNI)
                                 </td>
                                 <td>                           
                                    @Html.DisplayFor(x => Model.DetalleVisitas.ToList()[j].Empleado.Cargo.Descripcion) 
                                    <a href="@Url.Action("Delete", "Empleado", new { id = Model.DetalleVisitas.ToList()[j].Empleado.Id })" class = "deleteLink">
                                    <img src="@Url.Content("~/Content/Imagenes/delete.png")" title="Eliminar Empleado" alt="Eliminar Empleado" />
                                    </a>
                                </td>
                                </tr>                            
                            }                    
                        
                    
                    }      
                  
            </tbody>  
            
            </table>

            @Html.Label("Buscar:")
            @Html.TextBox("txtBuscarEmpleado")
            <button id="add2">Añadir Empleado</button>
            </div>
        </div>
   
        <p style='clear:both;margin-top:10em;padding:1em;'>
            <input type="submit" value="Guardar" id="btnGuardar"/>
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "ListarVisitas")
</div>

